package com.caishi.lkx.user.dto;

import com.caishi.lkx.common.ienum.DeviceType;
import com.caishi.lkx.user.ienum.type.UserType;
import com.caishi.lkx.user.ienum.type.UserAccountType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

/**
 * @author by keray
 * date:2019/8/1 10:44
 */

@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LoginDto {
    /**
     *
     */
    @Schema(title = "登录类型", type = "string", required = true)
    private UserAccountType type;

    /**
     * 设备来源
     */
    @Schema(title = "登录设备类型", type = "string")
    private DeviceType deviceType = DeviceType.unknown;


    @Schema(title = "登录设备uuid", type = "string")
    private String deviceId;

    @Schema(title = "登录设备名", type = "string")
    private String deviceName;

    @Schema(title = "推送设备id", type = "string")
    private String devicePushId;

    /**
     * 账户
     */
    @Schema(title = "登录账户", type = "string")
    private String userAccount;

    /**
     * 登录凭证或者账户密码
     */
    @Schema(title = "登录凭证或者账户密码", type = "string")
    private String credential;
    /**
     * 三方登录时的code
     */
    @Schema(title = "三方登录时的code", type = "string")
    private String code;


    @Schema(title = "平台code", type = "string")
    @Deprecated
    private String platformCode = "student";


    private UserType userType;
    private UserType[] userTypes;

    /**
     * 在更新登录信息使用
     */
    private String userId;

    @Schema(title = "绑定的手机号", type = "string")
    private String bindPhone;

    @Schema(title = "机构id", type = "Long")
    private Long groupId;

    @Schema(title = "易盾token", type = "string")
    private String token;

    @Schema(title = "运营商授权码", type = "string")
    private String accessToken;


}
